﻿<Project Sdk="Microsoft.NET.Sdk">

    <!-- Отключаем централизованное управление пакетами -->
    <PropertyGroup>
        <ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
    </PropertyGroup>

    <PropertyGroup>
        <OutputType>WinExe</OutputType>
        <Nullable>enable</Nullable>
        <TargetFramework>net8.0</TargetFramework>
        <!--Avalonia doesen't support TrimMode=link currently,but we are working on that https://github.com/AvaloniaUI/Avalonia/issues/6892 -->
        <TrimMode>copyused</TrimMode>
        <LangVersion>latest</LangVersion>
        <Nullable>enable</Nullable>
        <BuiltInComInteropSupport>true</BuiltInComInteropSupport>
    </PropertyGroup>

    <ItemGroup>
        <TrimmerRootDescriptor Include="Roots.xml" />
    </ItemGroup>

    <ItemGroup>
        <!--This helps with theme dll-s trimming.
        If you will publish your application in self-contained mode with p:PublishTrimmed=true and it will use Fluent theme Default theme will be trimmed from the output and vice versa.
        https://github.com/AvaloniaUI/Avalonia/issues/5593 -->
        <TrimmableAssembly Include="Avalonia.Themes.Fluent" />
    </ItemGroup>

    <PropertyGroup>
        <AvaloniaVersion>11.0.5</AvaloniaVersion>
        <MicrosoftVersion>8.0.0-rc.2.23479.6</MicrosoftVersion>
        <MicrosoftVersionAlt>8.0.0-rc.2.23480.2</MicrosoftVersionAlt>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Avalonia" Version="$(AvaloniaVersion)"/>
        <PackageReference Include="Avalonia.Desktop" Version="$(AvaloniaVersion)"/>
        <PackageReference Include="Avalonia.Fonts.Inter" Version="$(AvaloniaVersion)" />
        <PackageReference Include="Avalonia.Themes.Fluent" Version="$(AvaloniaVersion)"/>
    </ItemGroup>

</Project>
